=========================================================================
ISTRUZIONI per il progetto di recupero LPS anno 2006/07
========================================================================

Il progetto prevede la realizzazione di una applicazione client server. Per le
specifiche vedi il file progRecuperoLPS0607.pdf contenuto in questo kit.


------------------------------------------------
Estrarre il materiale da lpsnmat_kit.tar
------------------------------------------------
Creare una directory temporanea, copiare lpsnmat_kit.tar
nella directory e spostarsi nella directory appena creata. Es.

$$ mkdir TMP
$$ mv lpsnmat_kit.tar TMP
$$ cd TMP

S-tarare con

$$ tar xvf lpsnmat_kit.tar

questa operazione crea nella directory corrente una directory "nmat" che
contiene i seguenti file:

$$ ls nmat/

gruppo-check.pl   README-1
gruppo.txt        progRecuperoLPS0607.pdf
Doxyfile	  Makefile 
README.doxygen

-----------------------------------------------
Descrizione dei file contenuti nel kit
-----------------------------------------------

README-1		: questo file


gruppo-check.pl		: uno script Perl che controlla il formato del file
			  gruppo.txt prima di effettuare la consegna
			  (NON MODIFICARE)

gruppo.txt		: un file di esempio di specifica del gruppo
			  (solo 1 studente per gruppo)
			  (deve essere aggiornato con i dati di chi consegna,
			  secondo il formato esemplificato)

Makefile		: makefile per la compilazione, 
                          il test finale del frammento e la
			  consegna 
			  (NON COMPLETO modificare solo la prima parte)

Doxyfile		: file di configurazione per la generazione della
			  documentazione HTML con doxygen (facoltativo)

README.doxygen		  :  breve descrizione di doxygen, 
                             con rimandi ai siti rilevanti

progRecuperoLPS0607.pdf	     : specifiche del progetto da realizzare

------------------------------------------------
Cosa deve essere realizzato :
------------------------------------------------

Essenzialmente devono essere realizzati due programmi C, uno per il server
(nmats) ed uno per il client (nmatc), ed uno o piu' programmi per testarne il
corretto funzionamento.

Chi vuole puo' utilizzare doxygen per la produzione di documentazione tipo
javadoc. In caso leggere le istruzioni in README.doxygen.

------------------
Come procedere :
-----------------

0) leggere attentamente le specifiche

1) pianificare la struttura del codice 'carta e penna'

2) implementare le funzioni richieste in uno o piu' file
   ed effettuare testing preliminare man mano che le funzioni vengono
   sviluppate

3) automatizzare i test opportunamente usando il makefile. Il progetto e'
   consegnabile quando e' in grado di passare dei test che danno una copertura
   ragionevole del codice sviluppato

4) preparare la documentazione: ovvero commentare adeguatamente il/i file 
    ed inserire una intestazione contenente il nome
   dello sviluppatore ed una dichiarazione di originalita' 

   /** \file lcshash.c
       \author Nino Bixio
     Si dichiara che il contenuto di questo file e' in ogni sua parte opera
     originale dell' autore.  */

     Non e' richiesto di preparare anche la documentazione formato
     doxygen. Chi volesse farlo e' invitato a leggere il  README.doxigen.

5) aggiornare il file "gruppo.txt" con nome e dati

6) consegnare il file ESCLUSIVAMENTE eseguendo

      bash:~$ make consegna

   e seguendo le istruzioni. 
   Per la consegna e' necessaria l'utility "mpack" installata solo nelle
   macchine dei laboratori H, M ed I. Per consegne da altre macchine e'
   possibile scaricare il binario di 'mpack' dal sito del corso di LCS. 


---------------------------------------
 NOTE IMPORTANTI: LEGGERE ATTENTAMENTE
---------------------------------------

1) gli eleborati non consegnati con "make consegna" non verranno accettati

2) tutti gli elaborati verranno confrontati fra di loro con tool automatici
   per stabilire eventali situazioni di PLAGIO. Se tali situazioni si
   verificheranno *tutti* gli elaborato coinvolti verranno annullati con
   conseguente perdita del bonus. 

3) Tutti gli studenti coinvolti in un episodio di PLAGIO comprovato dovranno
   re-implementare il frammento incriminato e saranno sottoposti ad una prova
   orale supplementare. In caso di recidive verranno esclusi dalla
   possibilita' di sostenere l'esame per TUTTO IL RESTO DELL'ANNO ACCADEMICO
   IN CORSO.

4) Chi in sede di orale risulta palesemente non essere l'autore del software
   consegnato in uno dei frammenti verra' escluso dalla possibilita' di
   sostenere l'esame per TUTTO IL RESTO DELL'ANNO ACCADEMICO IN CORSO.

5) Tutti i comportamenti scorretti ai punti 3 e 4 verranno segnalati
   ufficialmente al presidente del corso di laurea, che si riserva di
   decidere azioni disciplinari supplementari a quelle sopra descritte.
